SQL View என்றால் என்ன?
SQL-ல், ஒரு view என்பது ஒரு SQL அறிக்கையின் result-set-அடிப்படையில் உள்ள மெய்நிகர் அட்டவணை (virtual table) ஆகும்.
ஒரு view வரிசைகள் மற்றும் நெடுவரிசைகளைக் கொண்டுள்ளது, ஒரு உண்மையான அட்டவணை போலவே. ஒரு view-ல் உள்ள புலங்கள் தரவுத்தளத்தில் உள்ள ஒன்று அல்லது அதற்கு மேற்பட்ட உண்மையான அட்டவணைகளிலிருந்து வரும் புலங்களாகும்.
நீங்கள் SQL அறிக்கைகள் மற்றும் செயல்பாடுகளை ஒரு view-க்கு சேர்க்கலாம் மற்றும் தரவு ஒரு ஒற்றை அட்டவணையிலிருந்து வருவது போன்று தரவை வழங்கலாம்.
ஒரு view CREATE VIEW அறிக்கையுடன் உருவாக்கப்படுகிறது.
முக்கியமான குறிப்பு:
ஒரு view எப்போதும் இற்றைப்படுத்தப்பட்ட தரவைக் காட்டுகிறது! தரவுத்தள இயந்திரம் ஒரு பயனர் அதைக் கேட்கும் ஒவ்வொரு முறையும் view-ஐ மீண்டும் உருவாக்குகிறது.
CREATE VIEW தொடரியல்
அடிப்படை CREATE VIEW தொடரியல்:
CREATE VIEW view_name AS
SELECT column1, column2, ...
FROM table_name
WHERE condition;
குறிப்பு:
View பெயர்களில் இடைவெளிகள் இருந்தால், அவற்றை சதுர அடைப்புக்குறிகளில் [ ] அல்லது மேற்கோள் குறிகளில் " " இடவும்.
SQL CREATE VIEW உதாரணங்கள்
உதாரணம் 1: பிரேசில் வாடிக்கையாளர்கள்
பின்வரும் SQL பிரேசிலில் இருந்து அனைத்து வாடிக்கையாளர்களையும் காட்டும் ஒரு view-ஐ உருவாக்குகிறது:
View உருவாக்கம்:
CREATE VIEW [Brazil Customers] AS
SELECT CustomerName, ContactName
FROM Customers
WHERE Country = 'Brazil';
மேலே உள்ள view-ஐ பின்வருமாறு கேட்கலாம்:
View-ஐ கேட்கும் குவெரி:
SELECT * FROM [Brazil Customers];
உதாரணம் 2: சராசரி விலையை விட அதிகமான தயாரிப்புகள்
பின்வரும் SQL "Products" அட்டவணையில் உள்ள ஒவ்வொரு தயாரிப்பையும் சராசரி விலையை விட அதிக விலையுடன் தேர்ந்தெடுக்கும் ஒரு view-ஐ உருவாக்குகிறது:
View உருவாக்கம்:
CREATE VIEW [Products Above Average Price] AS
SELECT ProductName, Price
FROM Products
WHERE Price > (SELECT AVG(Price) FROM Products);
மேலே உள்ள view-ஐ பின்வருமாறு கேட்கலாம்:
View-ஐ கேட்கும் குவெரி:
SELECT * FROM [Products Above Average Price];
SQL-ல் View-ஐ புதுப்பித்தல்
ஒரு view CREATE OR REPLACE VIEW அறிக்கையுடன் புதுப்பிக்கப்படலாம்.
CREATE OR REPLACE VIEW தொடரியல்:
CREATE OR REPLACE VIEW view_name AS
SELECT column1, column2, ...
FROM table_name
WHERE condition;
பின்வரும் SQL "City" நெடுவரிசையை "Brazil Customers" view-க்கு சேர்க்கிறது:
View புதுப்பித்தல்:
CREATE OR REPLACE VIEW [Brazil Customers] AS
SELECT CustomerName, ContactName, City
FROM Customers
WHERE Country = 'Brazil';
SQL-ல் View-ஐ நீக்குதல்
ஒரு view DROP VIEW அறிக்கையுடன் நீக்கப்படும்.
DROP VIEW தொடரியல்:
DROP VIEW view_name;
பின்வரும் SQL "Brazil Customers" view-ஐ நீக்குகிறது:
View நீக்குதல்:
DROP VIEW [Brazil Customers];
View-களின் நன்மைகள்
பாதுகாப்பு
- உண்மையான அட்டவணை கட்டமைப்பை மறைக்கிறது
- சென்சிட்டிவ் தரவுக்கு அணுகலைக் கட்டுப்படுத்துகிறது
- பயனர்கள் குறிப்பிட்ட நெடுவரிசைகளை மட்டுமே பார்க்க அனுமதிக்கிறது
- தரவு பாதுகாப்பை மேம்படுத்துகிறது
செயல்திறன்
- சிக்கலான குவெரிகளை எளிதாக்குகிறது
- மீண்டும் மீண்டும் குவெரி எழுதுவதைத் தடுக்கிறது
- தரவு சுருக்கத்தை வழங்குகிறது
- பயன்பாட்டு குறியீட்டை எளிதாக்குகிறது
நிர்வாகம்
- தரவு சுயாதீனத்தை வழங்குகிறது
- அட்டவணை கட்டமைப்பு மாற்றங்களை எளிதாக்குகிறது
- வணிக விதிகளை மையமாக்குகிறது
- பராமரிப்பை எளிதாக்குகிறது
நடைமுறை View உதாரணங்கள்
செயலில் உள்ள பயனர்கள்
செயலில் உள்ள பயனர்களை மட்டும் காட்டும் view
CREATE VIEW ActiveUsers AS
SELECT UserID, Username, Email, LastLogin
FROM Users
WHERE IsActive = 1
AND LastLogin >= DATE_SUB(NOW(), INTERVAL 30 DAY);
மாதாந்திர விற்பனை
மாதாந்திர விற்பனை சுருக்க view
CREATE VIEW MonthlySales AS
SELECT
YEAR(OrderDate) AS Year,
MONTH(OrderDate) AS Month,
COUNT(*) AS TotalOrders,
SUM(TotalAmount) AS TotalSales
FROM Orders
GROUP BY YEAR(OrderDate), MONTH(OrderDate);
தயாரிப்பு செயல்திறன்
தயாரிப்பு விற்பனை புள்ளிவிவரங்கள்
CREATE VIEW ProductPerformance AS
SELECT
p.ProductID,
p.ProductName,
COUNT(o.OrderID) AS TimesOrdered,
SUM(od.Quantity) AS TotalQuantity,
SUM(od.Quantity * od.UnitPrice) AS TotalRevenue
FROM Products p
LEFT JOIN OrderDetails od ON p.ProductID = od.ProductID
LEFT JOIN Orders o ON od.OrderID = o.OrderID
GROUP BY p.ProductID, p.ProductName;
View வகைகள்
எளிய Views
- ஒரு அட்டவணையிலிருந்து தரவு
- அடிப்படை WHERE, GROUP BY, ORDER BY
- விரைவான செயல்திறன்
- புதுப்பிக்கக்கூடியது (உள்ள சில கட்டுப்பாடுகள்)
சிக்கலான Views
- பல அட்டவணைகளிலிருந்து தரவு
- JOINs, subqueries, aggregate functions
- மெதுவான செயல்திறன்
- பொதுவாக புதுப்பிக்க முடியாது
மெட்டீரியலைஸ்டு Views
- முன்கணிக்கப்பட்ட முடிவுகள்
- வேகமான குவெரி செயல்திறன்
- தானாக புதுப்பிக்கப்படாது
- கூடுதல் சேமிப்பக இடம் தேவை